The present invention generally relates to communications, and particularly relates to decoding data encoded via linear block codes, such as Low Density Parity Check (LDPC) codes.
In principle, a noisy channel communication channel supports data transmission at an arbitrarily low error rate up to a capacity limit of the channel. Providing robust and practical forward error correction coding, while simultaneously making efficient use of the channel capacity presents significant challenges. Various known coding techniques support relatively simple decoding operations, while offering the ability to approach theoretical channel capacity limits as defined by the signal-to-noise ratios (SNRs). In particular, Low Density Parity Check (LDPC) codes offer an excellent combination of implementation practicality and good channel capacity utilization.
More generally, LDPC codes represent one type of linear block code that enables practical decoding implementations, while allowing channel capacity utilization to approach the theoretical capacity limits. More information on LDPC codes and conventional decoding can be found in R. G. Gallager, “Low-density parity-check codes,” IRE Trans. Info. Theory, vol. 8, pp. 21-28, January 1962, which incorporated herein in its entirety by reference. Other codes, such as Turbo Codes, offer similar advantages.
Linear block codes offer practical approaches to decoding because they can be decoded using relatively simple, iterative decoding operations. Conventional approaches to block decoding rely on bitwise probability information by, for example, iteratively updating the probabilities of individual bits in a received data block.